﻿// using GameCreator.Core;
// using Gp.Scripts.Core;
// using Gp.Scripts.Data;
// using UnityEngine;
// #if UNITY_EDITOR
//     using UnityEditor;
// #endif
//
//
//
// namespace Gp.GCX.Condition {
//
//
//     [AddComponentMenu("")]
//     public class ConditionHasItem : ICondition {
//         public InventoryConfigObject item;
//         public int minAmount = 1;
//
//         // EXECUTABLE: -------------------------------------------------------------------------------------------------
//
//         public override bool Check() {
//             int currentAmount = Global.Get<InventorySystem>().PlayerInventory.GetQuantity(item.GetID);
//             return this.minAmount <= currentAmount;
//         }
//
//         // +-----------------------------------------------------------------------------------------------------------+
//         // | EDITOR                                                                                                    |
//         // +-----------------------------------------------------------------------------------------------------------+
//
// #if UNITY_EDITOR
//
//         public const string CUSTOM_ICON_PATH = "Assets/Plugins/GameCreator/Inventory/Icons/Conditions/";
//
//         public static new string NAME = "Gp/库存/Item in Inventory";
//         private const string NODE_TITLE = "Player has {0} {1} item{2} or more";
//
//         // PROPERTIES: -------------------------------------------------------------------------------------------------
//
//         private SerializedProperty spItem;
//         private SerializedProperty spMinAmount;
//
//         // INSPECTOR METHODS: ------------------------------------------------------------------------------------------
//
//         public override string GetNodeTitle() {
//             return string.Format(
//                 NODE_TITLE,
//                 this.minAmount,
//                 (this.item == null ? "(none)" : this.item.ItemName),
//                 (this.minAmount == 1 ? "" : "s")
//             );
//         }
//
//         protected override void OnEnableEditorChild() {
//             this.spItem = this.serializedObject.FindProperty("item");
//             this.spMinAmount = this.serializedObject.FindProperty("minAmount");
//         }
//
//         protected override void OnDisableEditorChild() {
//             this.spItem = null;
//             this.spMinAmount = null;
//         }
//
//         public override void OnInspectorGUI() {
//             this.serializedObject.Update();
//
//             EditorGUILayout.PropertyField(this.spItem);
//             EditorGUILayout.PropertyField(this.spMinAmount);
//
//             this.serializedObject.ApplyModifiedProperties();
//         }
//
// #endif
//     }
// }